package com.dragon.modules.yuegou.entity.product;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.product.CoupMemberRecordType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

/**
 * 会员领取记录表实体类<br>
 * 对应的表为：pro_coup_member_record<br>
 *
 * @author pbuilder generated
 * @date 2021-05-19 15:40:43
 * @company sgy
 * @version 2.0
 */
@TableName("pro_coup_member_record")
@ApiModel(description = "会员领取记录表")
public class CoupMemberRecordEntity {

	/** ID */
	@ApiModelProperty("ID")
	protected String id;

	/** 商户商品券id */
	@ApiModelProperty("商户商品券id")
	protected String merchantCoupId;

	/** 券模板ID */
	@ApiModelProperty("券模板ID")
	protected String coupTemplateId;

	/** 订单号 */
	@ApiModelProperty("订单号")
	protected String orderNo;

	/** [枚举]类型：0-未使用-UNUSE、1-已使用-USED、2-已过期-EXPIRED */
	@ApiModelProperty("[枚举]类型：0-未使用-UNUSE、1-已使用-USED、2-已过期-EXPIRED")
	protected CoupMemberRecordType type;

	/** 商户ID（冗余） */
	@ApiModelProperty("商户ID（冗余）")
	protected String merchantId;

	/** 领取数量 */
	@ApiModelProperty("领取数量")
	protected Integer quantity;

	/** 会员ID */
	@ApiModelProperty("会员ID")
	protected String memberId;

	/** 创建人（优惠券发放人） */
	@ApiModelProperty("创建人（优惠券发放人）")
	protected String createdBy;

	/** 领取时间 */
	@ApiModelProperty("领取时间")
	protected LocalDateTime drawTime;

	/** 使用时间 */
	@ApiModelProperty("使用时间")
	protected LocalDateTime usedTime;

	/** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

	/**
	 * 构造一个空会员领取记录表实体对象
	 */
	public CoupMemberRecordEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个会员领取记录表实体对象
	 *
	 * @param other 其它对象
	 */
	public CoupMemberRecordEntity(CoupMemberRecordEntity other){
		super();
		this.id = other.id;
		this.merchantCoupId = other.merchantCoupId;
		this.coupTemplateId = other.coupTemplateId;
		this.orderNo = other.orderNo;
		this.type = other.type;
		this.merchantId = other.merchantId;
		this.quantity = other.quantity;
		this.memberId = other.memberId;
		this.createdBy = other.createdBy;
		this.drawTime = other.drawTime;
		this.usedTime = other.usedTime;
		this.createdTime = other.createdTime;
	}


	/**
	 * 获取ID
	 *
	 * @return id ID
	 */
	public String getId() {
		return id;
	}

	/**
	 * 设置ID
	 *
	 * @param id ID
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取商户商品券id
	 *
	 * @return merchantCoupId 商户商品券id
	 */
	public String getMerchantCoupId() {
		return merchantCoupId;
	}

	/**
	 * 设置商户商品券id
	 *
	 * @param merchantCoupId 商户商品券id
	 */
	public void setMerchantCoupId(String merchantCoupId) {
		this.merchantCoupId = merchantCoupId;
	}

	/**
	 * 获取券模板ID
	 *
	 * @return coupTemplateId 券模板ID
	 */
	public String getCoupTemplateId() {
		return coupTemplateId;
	}

	/**
	 * 设置券模板ID
	 *
	 * @param coupTemplateId 券模板ID
	 */
	public void setCoupTemplateId(String coupTemplateId) {
		this.coupTemplateId = coupTemplateId;
	}

	/**
	 * 获取订单号
	 *
	 * @return orderNo 订单号
	 */
	public String getOrderNo() {
		return orderNo;
	}

	/**
	 * 设置订单号
	 *
	 * @param orderNo 订单号
	 */
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	/**
	 * 获取[枚举]类型：0-未使用-UNUSE、1-已使用-USED、2-已过期-EXPIRED
	 *
	 * @return type [枚举]类型：0-未使用-UNUSE、1-已使用-USED、2-已过期-EXPIRED
	 */
	public CoupMemberRecordType getType() {
		return type;
	}

	/**
	 * 设置[枚举]类型：0-未使用-UNUSE、1-已使用-USED、2-已过期-EXPIRED
	 *
	 * @param type [枚举]类型：0-未使用-UNUSE、1-已使用-USED、2-已过期-EXPIRED
	 */
	public void setType(CoupMemberRecordType type) {
		this.type = type;
	}

	/**
	 * 获取商户ID（冗余）
	 *
	 * @return merchantId 商户ID（冗余）
	 */
	public String getMerchantId() {
		return merchantId;
	}

	/**
	 * 设置商户ID（冗余）
	 *
	 * @param merchantId 商户ID（冗余）
	 */
	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}

	/**
	 * 获取领取数量
	 *
	 * @return quantity 领取数量
	 */
	public Integer getQuantity() {
		return quantity;
	}

	/**
	 * 设置领取数量
	 *
	 * @param quantity 领取数量
	 */
	public void setQuantity(Integer quantity) {
		this.quantity = quantity;
	}

	/**
	 * 获取会员ID
	 *
	 * @return memberId 会员ID
	 */
	public String getMemberId() {
		return memberId;
	}

	/**
	 * 设置会员ID
	 *
	 * @param memberId 会员ID
	 */
	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	/**
	 * 获取创建人（优惠券发放人）
	 *
	 * @return createdBy 创建人（优惠券发放人）
	 */
	public String getCreatedBy() {
		return createdBy;
	}

	/**
	 * 设置创建人（优惠券发放人）
	 *
	 * @param createdBy 创建人（优惠券发放人）
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取领取时间
	 *
	 * @return drawTime 领取时间
	 */
	public LocalDateTime getDrawTime() {
		return drawTime;
	}

	/**
	 * 设置领取时间
	 *
	 * @param drawTime 领取时间
	 */
	public void setDrawTime(LocalDateTime drawTime) {
		this.drawTime = drawTime;
	}

	/**
	 * 获取使用时间
	 *
	 * @return usedTime 使用时间
	 */
	public LocalDateTime getUsedTime() {
		return usedTime;
	}

	/**
	 * 设置使用时间
	 *
	 * @param usedTime 使用时间
	 */
	public void setUsedTime(LocalDateTime usedTime) {
		this.usedTime = usedTime;
	}

	/**
	 * 获取创建时间
	 *
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}

	/**
	 * 设置创建时间
	 *
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	public String toString() {
		return new StringBuilder().append("CoupMemberRecordEntity{").
				append("id=").append(id).
				append(",merchantCoupId=").append(merchantCoupId).
				append(",coupTemplateId=").append(coupTemplateId).
				append(",orderNo=").append(orderNo).
				append(",type=").append(type).
				append(",merchantId=").append(merchantId).
				append(",quantity=").append(quantity).
				append(",memberId=").append(memberId).
				append(",createdBy=").append(createdBy).
				append(",drawTime=").append(drawTime).
				append(",usedTime=").append(usedTime).
				append(",createdTime=").append(createdTime).
				append('}').toString();
	}

	/**
	 * 复制对象
	 *
	 * @return 复制后的新实体对象
	 */
	public CoupMemberRecordEntity copy() {
		return new CoupMemberRecordEntity(this);
	}

	/** ID */
	public static final String COL_ID = "id";

	/** 商户商品券id */
	public static final String COL_MERCHANT_COUP_ID = "merchant_coup_id";

	/** 券模板ID */
	public static final String COL_COUP_TEMPLATE_ID = "coup_template_id";

	/** 订单号 */
	public static final String COL_ORDER_NO = "order_no";

	/** [枚举]类型：0-未使用-UNUSE、1-已使用-USED、2-已过期-EXPIRED */
	public static final String COL_TYPE = "type";

	/** 商户ID（冗余） */
	public static final String COL_MERCHANT_ID = "merchant_id";

	/** 领取数量 */
	public static final String COL_QUANTITY = "quantity";

	/** 会员ID */
	public static final String COL_MEMBER_ID = "member_id";

	/** 创建人（优惠券发放人） */
	public static final String COL_CREATED_BY = "created_by";

	/** 领取时间 */
	public static final String COL_DRAW_TIME = "draw_time";

	/** 使用时间 */
	public static final String COL_USED_TIME = "used_time";

	/** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";
}
